package views.mediators
{
	import com.axon.mvc.helpers.AxVerbs;
	import com.axon.mvc.patterns.mediator.AxMediatorPopUp;
	
	import flash.display.DisplayObject;
	
	import mx.controls.*;
	
	import views.components.LoungePopUpLoginView;

	public class LoungePopUpLoginMediator extends AxMediatorPopUp
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function LoungePopUpLoginMediator(parent: DisplayObject)
		{
			super(parent);
			warnIfExitWithoutSave = false;
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function get view(): LoungePopUpLoginView { return viewComponent as LoungePopUpLoginView; }
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		override protected function initialize():void
		{
			regResponseInterest( null, [ AxVerbs.LOGIN ] );
		} 
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function eventOk(): void
		{
			callController( null, AxVerbs.LOGIN, view.loginCredentials );
		} 
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function respLoginSuccess(sender: Object, body: Object, extraInfo: Object): void
		{
			closePopUp();
		}

		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function respLoginFailure(sender: Object, body: Object, extraInfo: Object): void
		{
		    view.errorString = "Conta de usuário e/ou senha inválidos.";
		}

	}
}